FL 1 - Available Volumes In MPW C:Further Reference:FL 2 - Clearing ioCompletionFurther Reference:FL 2 - Error in FCBPBRecFurther Reference:FL 4 - Getting a Full PathnameWarning
MPW PascalMPW CFurther Reference:#FL 5 - HFS Compatibility GuidelinesAre you using Standard File?dAre you concatenating volume names to file names, i.e. using file names of the form VOLUME:fileName?_Are you searching directories for files using a loop such as FOR index:= 1 to ioVNmFls DO ... 3where ioVNmFls was returned from a PBGetVinfo call?@Are you assuming that a vRefNum will actually refer to a volume?&Are you walking through the VCB queue?EAre you using the file system’s “IMMED” bit? (assembly language only)Further Reference:FL 6 - HFS ElucidationsOne Close is always enoughHow to avoid the problem:!This .file name looks outrageous.This file’s not my type.Further Reference:FL 7 - HFS TidbitsAlways Set ioFVersNum to Zero Incorrect PBSetVInfo descriptionFurther Reference:FL 8 - Nulls in FilenamesFurther Reference:"FL 9 - PBCatMove : Moving Your Cat,Figure 1–Directory Structure After SFPutFileFigure 2–_PBCatMove Failure+Figure 3–Parent and Destination DirectoriesBetter Living Through NILMost Of The Time That IsPascalCFurther Reference:1FL 10 - Setting ioFDirIndex in PBGetCatInfo CallsCalling PBGetCatInfoSetting up the parameter blockSample calls to PBGetCatInfo2PBGetCatInfo and The Poor Man’s Search Path (PMSP))Summary (DirID = 0 in all the following):Further Reference:FL 11 - PBHSetVol is DangerousFurther Reference:FL 12 - Standard File TipsSFSaveDisk and CurDirStore4Setting Standard File’s default volume and directoryFurther Reference:FL 13 - TagsFurther Reference:+FL 14 - Working Directories and MultiFinderFurther Reference:'FL 15 - Blessed Folder : A How-To GuideFurther Reference:FL 16 - CachingA termThere’s always a cache (type 1)Cache track fever (type 2)Cache me if you can (type 3)BufPtrA final noteFurther Reference:4FL 17 - CreateResFile and the Poor Man’s Search PathFurther Reference:7FL 18 - Creating Files Inside an AppleShare Drop FolderFurther Reference:+FL 19 - Data in Resource Fork : Don't Do ItFurther Reference:'FL 20 - File Sharing and Shared FoldersIntroduction;Share Points, Shared Areas, Locked Folders and PBGetCatInfo%Figure 1–Folder that is a Share Point?Figure 2–Folder that is a Share Point Mounted by a Regular User8Figure 3–Folder in a Shared Area of the Folder Hierarchy Figure 4–ioFlAttrib for a Folder*Shared Folders and Blank Access Privileges(Figure 5–Access Privileges in ioACAccessFurther Reference:&FL 21 - Hard Disk Medic & Booting CampAttack of the NastiesA Boot to the Head1) Check the SCSI port:/2) Decide which disk is to be the startup disk:%3) Execute the Macintosh boot blocks:F4) The Finder uses the Desktop file on the volume to draw the desktop.Tough Boots1) Check the SCSI port:/2) Decide which disk is to be the startup disk:%3) Execute the Macintosh boot blocks:F4) The Finder uses the Desktop file on the volume to draw the desktop.Bo3b’s Boot Repair41) The data is intact, but the hard disk won’t boot.C2) The disk won’t boot and only shows up after running HD SC Setup.34) There are data errors while the disk is running.15) The disk is very slow returning to the Finder.>6) The computer crashes or hangs when returning to the Finder.37) The disk appears in a “This disk is bad” dialog."8) The disk never shows up at all. These boots are made for wokkingFurther Reference:FL 22 - HFS RuminationsHFS numbersWorking DirectoriesWhen you can use HFS callsDefault volume BootDriveFrom MPW C:!The Poor Man’s Search Path (PMSP)ioDirId and ioFlNumPBHGetVInfoPBGetWDInfo and Register D1Further Reference:'FL 23 - ioNamePtr in File Manager CallsFurther Reference:!FL 24 - Don’t Look at ioPosOffsetFurther Reference:/FL 25 - ISO 9660 (& High Sierra) CD-ROM Formats&What’s Wrong with my High Sierra Disc?Further Reference:FL 26 - Lock, Unlock the RangeLocal Versus AppleShare#One Way To Lock, Two Ways To UnlockWhat Range Did I Just Lock?An Off By EOF Bug
ConclusionFurther Reference:!FL 27 - Mixing HFS and C File I/O-Problems with Communication Between HFS and CYou Were WarnedFurther Reference:,FL 28 - PBShare, PBUnshare, and PBGetUGEntryThe RoutinesPBShare PBUnsharePBGetUGEntryFurther Reference:FL 29 - Problem with GetVInfoFurther Reference:%FL 30 - Resolving Alias Files QuietlyIntroduction
Keeping QuietQuiet Calls
MPW PascalMPW CFurther Reference:0FL 31 - Searching Volumes—Solutions and ProblemsSearching MFS VolumesSearching HFS Volumes)Fast, Reliable Searches Using PBCatSearch-Recursive Indexed Searches Using PBGetCatInfo2Searching in a Multi-user/Multiprocess Environment2Figure 1 Before Dashboard Is Moved With PBCatMove1Figure 2 After Dashboard Is Moved With PBCatMove/Figure 3 Before Toys Is Renamed With PBHRename7Figure 4 After Toys Is Renamed to Games With PBHRename
ConclusionFurther Reference:)FL 32 - Hey Buddy, Can You Spare A Block?Introduction
The AlgorithmExperience Has ShownThe Compatibility Risks
ConclusionFurther Reference:#FL 33 - Standard File Customization*Modifying the Resource Compiler Input FileThe Dialog HookThe File FilterMPW Pascal SourceMPW C SourceRez Input FileFurther Reference:/FL 34 - VCBs and Drive Numbers : The Real StoryOfflineEjectedSummaryFurther Reference:/FL 35 - Determining Which File System Is ActiveFurther Reference:FL 505 - Alias Manager Q&As'Volumes must have unique creation dates-FL 510 - File Manager Directory Handling Q&As.Implementing Macintosh System 7 desktop buttonSystem 7 and copy-protect bit/How persistent must Macintosh directory IDs be??Getting folder directory ID based on path name or parent folder#PBHDelete insights and code snippet Working directories and WDRefNum+Getting HFS directories from full pathnames.How a new Macintosh directory ID is determined:Changing a file’s fork without changing last-modified date&Code for detecting PBCatSearch support;PBHGetDirAccess ioNamePtr (not ioFileName) & ioDirID params-PBGetCatInfo NIL ioNamePtr bug and workaround-Forcing the Macintosh system to switch-launch>How can I tell which directory my Macintosh application is in?;Assembler code for distinguishing between HFS and MFS calls(FL 515 - File Manager File Handling Q&As&Locking and unlocking a Macintosh file4Allocate, AllocContig, and Macintosh file allocation/Use OpenDF to open files with driver-like names*Should ioNamePtr point to Str255 or Str63?.Macintosh file reference number (refNum) range&Steps for duplicating a Macintosh file1Macintosh filename cannot start with a period (.);Code for reading from a non-Macintosh-formatted floppy disk)System 7 Finder and file duplication time9Copying a file or folder dragged to Macintosh application'Simulating PBExchangeFiles for System 6+Macintosh open file maximums & how to alter/Where to get Macintosh third-party file formats%FSSpec and SFReply information blocks,How to search only nonserver mounted volumes@Using the Macintosh file system asynchronously at interrupt time*Using Macintosh PBRead call asynchronously:Partition Macintosh volumes to work around 2 GB size limit7Accessing files in a folder dropped onto an application;Ignore asynchronous low-level File Manager function results/How to get Macintosh file label & color strings_CatMove vs _HReName7Macintosh verified read error produces dataVerErr (-68)8Determining the amount of free space on a Macintosh disk?How to determine if a Mac file or resource file is already open/How to get the correct size of a Macintosh file.Retained Macintosh file reference requirements&PBHCopyFile and Macintosh file copying7Copying a file from application folder to System Folder&Macintosh Read calls at interrupt time*Should ioNamePtr point to Str255 or Str63?#FL 520 - File Manager Overview Q&AsMacintosh folder file limits<Determining which Macintosh File Manager calls are available#System 7.0 DAs and 'vers' resources#FL 525 - Standard File Package Q&As(Standard File Package directory defaults*Dialog filter control with subdialog boxes;Working around Standard File quirk when system heap is full6Custom Standard File dialog edit fields under System 7?Displaying invisible files under Systems 6 & 7 without typeList0Standard File and nontrashable Macintosh folders9How to override System 7.0 Standard File dialog centering4Tabbing between SFPPutFile custom dialog text fields@Filtering out invisible folders from a Standard File dialog list>File handling within SFPGetFile & SFPPutFile DlgHook functions-What to do instead of nested SFPGetFile calls>Working directory not necessary for new Macintosh applications%How to control path used by SFGetFile:Saving correct Macintosh “user file last used” information*FL 530 - File Manager Volume Handling Q&As20 mounted volume limitation1PBGetVolMountInfoSize & PBGetVolMountInfo doc fix(FSWrite and error handling for dskFulErr$PBHSetVolParms volume attribute bits+ioVAtrb bit 7 and bit 15 locked volume bits.How to display mounted volumes in a dialog box7Distinguishing between Macintosh vRefNums and WDRefNums>Technique for maintaining up-to-date list of Macintosh volumesUnlocking a Macintosh volume-Booting a write-protected disk under System 7%Changing a volume’s modification dateSystem 7 DA UnmountVol bug@How do I tell if a volume is a floppy or hard disk, or removable7Where can I find more information about HFS structures?6File Manager backup volume info block bug & workaround3Changing the volume control block modification date;Code for identifying vRefNum and DirID of MAC System Folder@System 7 UnmountVol and Eject calls return positive drive number8How to determine if a Macintosh file is on a locked disk)Working directories and unmounted volumes'Getting open file name on an MFS volume:How Macintosh Finder calculates free and used volume space